Skip to content

ENH: Add windows support #184

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 57 commits into from
May 21, 2025
Merged

ENH: Add windows support #184

merged 57 commits into from
May 21, 2025

Conversation

rmcar17
Copy link
Collaborator

@rmcar17 rmcar17 commented Mar 20, 2025

#43

Adds windows support to piqtree including in release workflow.

Limitation with relying with error handling on IQ-TREE side - errors which would be thrown as an IqTreeError on mac/linux instead cause an ungraceful exit. See skipped tests for examples. Could potentially handle common cases on Python side, though preference would be handling on IQ-TREE side in the long-term so new errors can be freely added/removed without duplication on Python side.

Phew!

dependabot bot and others added 30 commits March 19, 2025 17:41
Bumps [iqtree2](https://github.com/iqtree/iqtree2) from `1320c4c` to `39cbee5`.
- [Release notes](https://github.com/iqtree/iqtree2/releases)
- [Commits](iqtree/iqtree2@1320c4c...39cbee5)

---
updated-dependencies:
- dependency-name: iqtree2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@rmcar17
Copy link
Collaborator Author

rmcar17 commented Mar 20, 2025

A note that the windows-latest status checks should be added to the ruleset for merging to main

@coveralls
Copy link
Collaborator

coveralls commented Mar 20, 2025

Pull Request Test Coverage Report for Build 15152165805

Details

  • 8 of 8 (100.0%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.006%) to 98.939%

Totals Coverage Status
Change from base Build 15124997664: 0.006%
Covered Lines: 1212
Relevant Lines: 1225

💛 - Coveralls

Copy link
Member

@GavinHuttley GavinHuttley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing effort @rmcar17 and @thomaskf

@rmcar17 rmcar17 marked this pull request as draft March 21, 2025 04:29
@rmcar17
Copy link
Collaborator Author

rmcar17 commented Mar 23, 2025

This now processes error messages from IQ-TREE on windows. All that remains is the question of memory leaks from heap allocated struct members.

* ENH: provide piqtree_nj and nj_tree option for positive branch lengths (#165)

* ENH: parameter to restrict negative value of branch length

* TST: allow_negative correctly control the behavior of branch length in nj_tree

* ENH: add parameter allow_negative in piqtree_nj app

* MAINT: fix double return error in merge

* MAINT: ruff formatting

* TST: Use full fasta file for checking `nj_tree` negative branch lengths

* MAINT: move from `ArrayAlignment` to `Alignment` in preparation for `new_type` default

* MAINT: simplify logic for negative branch lengths

* MAINT: Sort fixtures by number of taxa

* MAINT: Remove unused test data file

---------

Co-authored-by: Robert McArthur <[email protected]>

* DEV: Update minimum required `cogent3` version (support cogent3 hooks)

* TST: Remove skip for `quick_tree` `cogent3` hook as `cogent3` min version has updated

* Bump ruff from 0.11.0 to 0.11.5

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.0 to 0.11.5.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.11.0...0.11.5)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.11.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump pypa/cibuildwheel from 2.23.1 to 2.23.2

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.1 to 2.23.2.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](pypa/cibuildwheel@v2.23.1...v2.23.2)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump ruff from 0.11.5 to 0.11.8

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.5 to 0.11.8.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.11.5...0.11.8)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.11.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* Bump pypa/cibuildwheel from 2.23.2 to 2.23.3

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.2 to 2.23.3.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](pypa/cibuildwheel@v2.23.2...v2.23.3)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-version: 2.23.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

* MAINT: upgrade min `cogent3` and use new `Table` API

* ENH: support use of `str` for model in `build_tree` and `fit_tree`

* TST: add tests for string represnetations of models

* API: simplify expression of model in apps (match that used by `build_tree` and `fit_tree`)

* DEV: add scriv fragment

* DEV: bump version to 0.5.0

* DEV: collate scriv fragment

* DOC: fix typo in release checklist

* DEV: update trove classifiers for supported python versions

* DEV: add minimum cmake version

* Bump ruff from 0.11.8 to 0.11.9

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.8 to 0.11.9.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.11.8...0.11.9)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.11.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Yapeng Lang <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@rmcar17 rmcar17 linked an issue May 21, 2025 that may be closed by this pull request
@rmcar17
Copy link
Collaborator Author

rmcar17 commented May 21, 2025

Memory leaks for the struct types have now been resolved

@rmcar17 rmcar17 marked this pull request as ready for review May 21, 2025 02:23
@rmcar17 rmcar17 enabled auto-merge (rebase) May 21, 2025 02:41
@rmcar17 rmcar17 disabled auto-merge May 21, 2025 02:41
@rmcar17
Copy link
Collaborator Author

rmcar17 commented May 21, 2025

Squashing to only keep working states

@rmcar17 rmcar17 merged commit eac63c9 into main May 21, 2025
41 checks passed
@rmcar17 rmcar17 deleted the windows-support branch May 21, 2025 03:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ENH: Windows Support
3 participants